<template>
  <div>
    <h3>QQ登录成功~</h3>
  </div>
</template>
<script>


export default {
  name: '',
  data() {
    return {
      code: ''
    }
  },
  created() {
    // this.handleQQLoginSdk()
    this.handleQQLoginUrl()
  },
  components: {},
  methods: {
    // // 使用网址的形式获取QQ用户信息
    async handleQQLoginUrl() {
      // 获取code
      // let code = {}
      // let codeStr = window.location.search.split('?')[1]
      // let codeArr = codeStr.split('&')
      // for (let i = 0; i < codeArr.length; i++) {
      //   let newCode = codeArr[i].split('=')
      //   code[newCode[0]] = newCode[1]
      // }
      this.code = this.$route.query.code

      const res = await this.$QQRequire({
        url: '/token',
        method: 'get',
        params: {
          grant_type: 'authorization_code',
          client_id: '101850878',
          client_secret: '548b4821176d7caa3b8266c4e40e9f57',
          code: this.code,
          redirect_uri: 'http://localhost:8080/proxy'
        }
      })


      // 取出token
      let tokenStr = res.split('&')[0]
      let token = tokenStr.split('=')[1]

      // 获取openId
      const id = await this.$QQRequire({
        url: '/me',
        method: 'get',
        params: {
          access_token: token,
          fmt: 'json'
        }
      })
        ;

      // 不传递参数的形式 获取openid
      // function callback(option) {
      //   console.log(option);
      // }
      // eval(id)
      let openid = id.openid
      //发送连接服务器的请求
      const list = await this.$require({
        url: '/user/qqinfo',
        method: 'get',
        params: {
          openid: openid,
          access_token: token,
          oauth_consumer_key: '101850878'
        }
      })
      if (list.status == 0) {
        const info = await this.$require({
          url: '/user/qqlogin',
          method: 'post',
          data: {
            openid,
            username: list.data.nickname
          }
        })
        if (info.status == 0) {
          window.sessionStorage.setItem('token', info.data.token)
          this.$router.push('/user')
        }
      }
    }


    //使用sdk的形式获取数据
    // handleQQLoginSdk() {
    //   // 获取QQ登录信息
    //   const isLogin = this.$QC.Login.check()
    //   console.log(isLogin);
    //   if (isLogin) {
    //     this.$QC.Login.getMe(async (openId, accessToken) => {
    //       console.log(openId);
    //       // 发送请求
    //       const res = await this.$require({
    //         url: '/user/qqinfo',
    //         method: 'get',
    //         params: {
    //           openid: openId,
    //           access_token: accessToken,
    //           oauth_consumer_key: '101850878'
    //         }
    //       })
    //       if (res.status == 0) {
    //         const info = await this.$require({
    //           url: '/user/qqlogin',
    //           method: 'post',
    //           data: {
    //             openid: openId,
    //             username: res.data.nickname
    //           }
    //         })
    //         if (info.status == 0) {
    //           window.sessionStorage.setItem('token', info.data.token)
    //           this.$router.push('/user')
    //         }
    //       }


    //     })

    //   }
    // }
  }
}
</script>
<style scoped>
</style>
